#ifndef LTEXTURE_H
#define LTEXTURE_H

#include <string>
#include <SDL_image.h>

//Texture wrapper class
class LTexture
{
    public:
        //Initializes variables
        LTexture( SDL_Renderer* gRenderer );

        //Deallocates memory
        ~LTexture();

        //Loads image at specified path
        bool loadFromFile( std::string path );

        //Deallocates texture
        void free();

		//Renders texture at given point
		void render( int x, int y, SDL_Rect* clip = NULL, double angle = 0.0, SDL_Point* center = NULL, SDL_RendererFlip flip = SDL_FLIP_NONE );

        //Gets image dimensions
        int getWidth();
        int getHeight();

                //The actual hardware texture
        SDL_Texture* mTexture;

    private:
        //Renderer
        SDL_Renderer* lRenderer;

        //Image dimensions
        int mWidth;
        int mHeight;
};

#endif // LTEXTURE_H
